package generic_type;

import java.util.List;

public class MethodGeneric {

    public <T> T method(T t) {
        System.out.println(t.getClass());
        return t;
    }

    /**
     * @param list 传参必须是List<String>，不能是List<Object>
     *             因为泛型中的<Object>并不是像以前那样有继承关系的，也就是说List<Object>和List<String>是毫无关系的
     */
    public static int getStrListSize(List<String> list) {
        if (list != null) {
            return list.size();
        }
        return -1;
    }

    /**
     * @param list 传参list中的泛型可以是任何类型
     */
    public static int getListSize(List<?> list) {
        if (list != null) {
            return list.size();
        }
        return -1;
    }

}
